Processing facilities, such as manufacturing plants, chemical plants and oil refineries, are typically managed using process control systems. Valves, pumps, motors, heating/cooling devices, and other industrial equipment typically perform actions needed to process materials in the processing facilities. Among other functions, the process control systems often manage the use of the industrial equipment in the processing facilities.
In conventional process control systems, controllers are often used to control the operation of the industrial equipment in the processing facilities. The controllers can typically monitor the operation of the industrial equipment and/or the products or related materials through use of various sensors, and provide control signals to the industrial equipment based on information retrieved from the various sensors.
To facilitate application of control techniques and improve interoperability of different devices and software, the OPC standard was introduced that specifies the communication of real-time plant data between control devices from different manufacturers. OPC is intended to bridge Windows-based applications and process control hardware and software applications. OPC is an open standard that permits a consistent method of accessing field data from plant floor devices that can remain the same regardless of the type and source of data. OPC servers can provide a method for many different software packages to access data from various process control devices, such as a programmable logic controller (PLC), or in a distributed control system (DCS). OPC can define a common interface that is written once and then reused by any business, Supervisory Control and Data Acquisition (SCADA) system, Human Machine Interface (HMI), or custom software packages. Once an OPC server application is written for a particular device, it can be reused by any application that is able to act as an OPC client.
In OPC, an “item” represents one of a plurality of data values that describe the states of the various devices. As known in the art, OPC-based systems as well as other control systems can experience problems during various changes to the system including activating an inactive item in a group or when activating an inactive group containing the item. The OPC standard recognizes that initial bad qualities are occasionally returned when subscribing to items. For example, after one or more items are first are added to a group, it may take some time for the server to obtain initial data values associated with the item. In such cases, the client might perform a read, such as from the cache and/or execute a refresh procedure on such a subscription before the items are available, which can result in an initial bad quality indication. When an item is not already present in the server's cache, the client can receive an immediate callback with a bad value which indicates some kind of failure of the underlying device. This bad value indication can cause various difficulties for the control process, such as a halt to a batch in progress which requires operator intervention to proceed. However, in some cases, initial data values carry bad quality even though the underlying device is performing normally, making halting the process and/or operator intervention unnecessary. Accordingly, there is a need for an apparatus and method for shielding OPC client applications from bad quality initial items.